package com.sj.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.sj.common.dto.user.AdminUserQueryParam;
import com.sj.common.dto.user.UserDto;
import com.sj.entity.User;
import com.baomidou.mybatisplus.extension.service.IService;

/**
 * <p>
 * 用户表 服务类
 * </p>
 *
 * @author 孙峻
 * @since 2022-03-09
 */
public interface UserService extends IService<User> {

    /**
     * 获取用户权限信息
     * 所有权限用','拼接
     * 角色以 ROLE_开头
     * 权限则没有
     *
     * @param id       用户ID
     * @param username
     * @return
     */
    String getAuthorities(Integer id, String username);

    /**
     * 用户注册
     *
     * @return
     */
    Boolean register();

    /**
     * 获取用户详细信息
     *
     * @param userId 用户id
     * @return
     */
    UserDto getUserDetailInfo(Integer userId);

    /**
     * 管理端获取用户列表
     *
     * @param page
     * @param adminUserQueryParam
     * @return
     */
    IPage<User> getAdminUserList(IPage<User> page, AdminUserQueryParam adminUserQueryParam);

}
